Method and apparatus for contextually varying imagery on a map

ABSTRACT

Map data for generating a digital map of a geographic area is received, the digital map is generated using the received map data, and the digital map is displayed via a user interface. An interactive runway of photographic images corresponding to objects located within the geographic area is generated, the runway being a linear arrangement of the photographic images. Generating the runway includes rating each of the candidate photographic images corresponding to objects located within the within the geographic area using viewing signals related to at least one of the photographic image or an object depicted in the photographic image, and selecting, from among the candidate photographic images, the photographic images for inclusion in the interactive runway, using the rating. The interactive runway is displayed over the digital map.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a continuation of (i) U.S. patent application Ser.No. 15/362,580, titled “Method and Apparatus for Contextually VaryingImagery on a Map” and filed Nov. 28, 2016, which is a continuation of(ii) U.S. patent application Ser. No. 13/616,227 (now U.S. Pat. No.9,508,169), titled “Method and Apparatus for Contextually VaryingAmounts of Imagery on a Map” and filed Sep. 14, 2012; the entiredisclosures of which are expressly incorporated herein by reference.

FIELD OF DISCLOSURE

This disclosure relates to user interfaces, and more specifically, todisplaying map imagery on a display screen.

BACKGROUND

The background description provided herein is for the purpose ofgenerally presenting the context of the disclosure. Work of thepresently named inventors, to the extent it is described in thisbackground section, as well as aspects of the description that may nototherwise qualify as prior art at the time of filing, are neitherexpressly nor impliedly admitted as prior art against the presentdisclosure.

Maps are visual representations of information pertaining to thegeographical location of natural and man-made structures. A traditionalmap, such as a road map, includes roads, railroads, hills, rivers,lakes, and towns within a prescribed geographic region. Maps werecustomarily displayed on a plane, such as paper and the like, and arenow also commonly displayed via map applications on computing devices,such as computers, tablets, and mobile phones.

Many map applications provide the user with the ability to select thetype of map information or features to be visible or hidden from view aswell as to adjust the display of the map. For example, the user mayselect among several scales and map viewing modes, such as a map modethat presents a traditional road-map view, a satellite mode thatpresents a photograph taken above the geographical region, or astreet-level mode that presents a photograph taken of the surroundingarea at ground level.

Maps displayed on computing devices are able to provide information notavailable from traditional paper maps. In particular, computing devicesmay provide the user with a photographic image of an object locatedwithin the boundary of the map that may be displayed on the screen. Forexample, a small visual indicator such as a thumbnail image may bedisplayed along with the map. The thumbnail image denotes that aphotograph associated with a particular object physically located withinthe geographical area represented by the map is available for viewing.Upon the user's selection of the thumbnail image, the associatedphotograph will be displayed on the screen.

Although providing additional map information to the user can improvethe map viewing experience, the manner in which the additionalinformation is provided may interfere or distract the user's attentionfrom the map. Thus, a need remains for providing additional map-relatedinformation to the viewer in a manner that is more responsive andcomplementary during the map viewing session.

SUMMARY

An apparatus for displaying overlay imagery on a map includes, in oneexample embodiment, a computing device for a map rendering system thatis capable of being communicatively coupled to a map displaying devicehaving a user interface. The computing device includes a processor, amemory coupled to the processor, and a port coupled to the processorthat receives a request for map information. The computing deviceincludes a map generating routine that generates a map responsive to arequest for map information, wherein the generated map includes a visualrepresentation of a geographic area associated with the request for mapinformation. A memory or database stores images wherein each storedimage is associated with an object having a geographic location. Animage identifying routine identifies images stored within the databasethat are associated with objects located within or near the geographicarea represented by the map. An image rating routine rates theidentified images using at least one viewing signal to rate each image.The viewing signals include: an image type, an object location, an imagequality, an image popularity, a map viewing mode, a user location, aspatial perspective, and a search term. A runway generating routinegenerates a plurality of identified images for display with the map,wherein the plurality of identified images are arranged in the runway ina sequence determined by the rating of each identified image. Acommunication routine transmits the map and the runway to the mapdisplay device for display via the user interface.

If desired, the computing device may include a sizing routine thatadjusts the size of the dimension of the runway or at least one of theplurality of identified images displayed within the runway based on therating of at least one of the plurality of identified images within therunway. Additionally, at least one identified image within the runwaymay be selectable as an entry point into a different map viewing mode.

In another example embodiment, a method for use in a computing devicefor displaying overlay imagery associated with a map includes receivinga request for map information, generating a map corresponding to therequest, wherein the generated map includes a visual representation of ageographic area, and displaying the generated map on a screen in a mapviewing mode. The method includes identifying images of objects locatedwithin or near the geographic area associated with the map displayed onthe screen and rating each of the identified images using one or moreviewing signals, wherein the viewing signals include: image type, objectlocation, image quality, image popularity, map viewing mode, userlocation, spatial perspective, and search term. The method includesgenerating a runway of a plurality of the identified images, wherein theplurality of the identified images are arranged in the runway in asequence determined by the rating associated with each identified image,and displaying at least a portion of the generated runway on the screen.

If desired, the method may also include determining a size fordisplaying the plurality of the identified images of the runway based onthe rating of at least one of the plurality of the identified images ofthe runway, displaying an image on the screen in response to receiving aselection of one of the identified images of the runway, and/oradjusting the size of the plurality of the identified images of therunway in response to receiving an adjustment of the runway from a user.The method may further include fixing the size of the plurality of theidentified images of the runway in response to receiving the adjustmentof the runway from the user, and displaying a second map on the screenin response to receiving a selection of one of the identified images ofthe runway, wherein displaying the second map on the screen includeschanging the map viewing mode. The method may further include displayinga user-selectable map view image in the runway, and displaying the mapin a different map viewing mode in response to receiving a selection ofthe user-selectable map view image from the user. The method may furtherinclude displaying a user-selectable composite view image in the runway,and displaying the images of the runway in a grid on the screen inresponse to receiving a selection of the user-selectable composite viewimage from the user.

In another example embodiment, a method for use in displaying overlayimagery associated with a map on an electronic device includes receivinga request for map information via a user interface of the electronicdevice, sending the request for map information to a server device, andstoring a map corresponding to the request for map information, the mapincluding a visual representation of a geographic area. The methodincludes displaying the map on a screen in a map viewing mode, andreceiving images of objects located within or near the geographic areaassociated with the map displayed on the screen, wherein each image hasa rating based on one or more viewing signals. The viewing signalsinclude: image type, object location, image quality, image popularity,map viewing mode, user location, spatial perspective, and search term.The method includes receiving a size for displaying the plurality of theimages based on the rating of at least one image in the plurality of theimages, and displaying at least a portion of the plurality of the imagesat the size on the screen.

In yet another example embodiment, a computer-readable storage mediumincludes computer-readable instructions stored thereon that are to beexecuted on a processor of a computing device for a map renderingsystem. The stored instructions include generating a map in response toreceiving a request for map information, the map including a visualrepresentation of a geographic location, transmitting the map fordisplay, and identifying images of objects located within the geographiclocation associated with the map. The stored instructions include ratingeach of the identified images using one or more viewing signals, theviewing signals including image type, object location, image quality,image popularity, map viewing mode, spatial perspective, and userlocation. The stored instructions include generating a runway of aplurality of the identified images wherein the plurality of theidentified images are arranged in the runway in a sequence determined bythe rating associated with each identified image. The storedinstructions include transmitting the runway for display.

If desired, the stored instructions may further include determining asize for displaying the plurality of the identified images of the runwaybased on the rating of at least one of the plurality of the identifiedimages of the runway, adjusting the size of the plurality of theidentified images of the runway in response to receiving an adjustmentof the runway from a user, and/or fixing the size of the plurality ofthe identified images of the runway in response to receiving theadjustment of the runway from a user. The stored instructions mayfurther include generating a second map in response to receiving aselection of one of the identified images of the runway, transmittingthe second map for display wherein the request for map informationincludes a search term, and/or displaying the selected plurality of theimages in a grid on the screen in response to receiving a selection ofthe user-selectable composite view image from the user.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of an example display system that implementsthe techniques of the present disclosure to display a map on a displayscreen.

FIG. 2 is a flow diagram of an example method for displaying mapinformation within a window on the display screen of a user interface.

FIG. 3 is a flow diagram of another example method for displaying mapinformation within a window on the display screen of a user interface.

FIG. 4 is an example screenshot of a map displayed on the screen of auser interface.

FIG. 5 is an example screenshot of a map displayed on the screen of auser interface.

FIG. 6 is an example screenshot of a map displayed on the screen of auser interface.

FIG. 7 is an example screenshot of a map displayed on the screen of auser interface.

FIG. 8 is an example screenshot of a map displayed on the screen of auser interface.

DETAILED DESCRIPTION

Using the techniques described herein, a map display system presentsinformation for display on a screen in a manner that will enhance themap browsing experience of a user. As the user browses a map displayedon a screen, the system or method identifies images of objects locatedwithin a geographic location represented by the map. The identifiedimages are rated using one or more viewing signals and a collection ofrated images are selected for display based on the respective rating ofeach identified image. The viewing signals used to rate the identifiedimages include image type, object location, image quality, imagepopularity, map viewing mode, user location, spatial perspective, andsearch term. Displayed along with the map, the collection of ratedimages appear as a strip of images called a runway and the sequenceand/or size of the images within the runway may be determined by therespective rating of one or more images within the runway.

In one implementation, the user's level of interest in map informationmay be assessed by considering the map browsing characteristics employedby the user. For example, if the user chooses to display the map in asatellite mode at a relatively low elevation, the user's level ofinterest pertaining to map information may be evaluated as being moreconcerned in photographic imagery of objects located within thegeographic region represented by the map. In this instance, the runwayand its images may be presented in an expanded display to provideimagery consistent with the user's map interests. On the other hand,when the map is viewed in a map mode, e.g., road map view, and at arelatively high elevation, the user's level of interest in mapinformation may be evaluated as being more concerned with traveldirections, locations, and routes. The display of the runway and itsimages will accordingly be reduced (in relation to the expanded displaydescribed above) to avoid distracting the user from focusing on thespatial aspects map.

An example map display system 10 capable of implementing some or all ofthe techniques herein described is shown in FIG. 1. The map displaysystem 10 includes a computing device 12. The computing device 12 isshown to be a server device, e.g., computer, but it is to be understoodthat the computing device 12 may be any other type of computing device,including, and not limited to, a main frame or a network of one or moreoperatively connected computers. The computing device 12 includesvarious modules, which may be implemented using hardware, software, or acombination of hardware and software. The modules include at least onecentral processing unit (CPU) or processor 14, a communication module(COM) 16, and a graphics processing unit (GPU) 18. The communicationmodule 16 is capable of facilitating wired and/or wireless communicationwith the computing device 12 via any known means of communication, suchas Internet, Ethernet, 3G, 4G, GSM, WiFi, Bluetooth, etc.

The computing device 12 also includes a memory 20, which may include anytype of memory capable of being incorporated with the computing device12, including random access memory 22 (RAM), read only memory 24 (ROM),and flash memory. Stored within the memory 20 is an operating system 26(OS) and one or more applications or modules. The operating system 26may be any type of operating system that may be executed on thecomputing device 12 and capable of working in conjunction with the CPU14 to execute the applications.

One application 28 is a map generating application or routine that iscapable of generating a map for display on a screen. The map generatingapplication 28 is stored in memory 20 and may include additionalroutines or cooperate with additional routines to facilitate thegeneration and the display of map information. The additional routinesmay use location-based information associated with the geographic regionto be mapped. In particular, the location-based information may bephotographic images of objects that are physically located within ornear the geographic region to be mapped. The photographic images may bestored in one or more memories, databases 65, or repositories accessibleto the map rendering system.

An image identifying routine 30 may identify all the photographic imagesassociated with objects located within the geographic region representedby the map that are accessible to the computing device 12. A runwaygenerating routine 32 may cooperate with the image identifying routine30 to create a runway or strip of images associated with the objectslocated within the mapped area. The runway generating routine 32 mayinclude or cooperate with an image rating routine 29, wherein visualsignals are used to rate the identified photographic images. The visualsignals include one or more of the following: image type, objectlocation, image quality, image popularity, map viewing mode, viewerlocation, and search term. The runway generating routine 32 may alsoinclude or cooperate with a runway sizing routine 34, wherein the sizeor dimension of the runway or at least one image therein is determinedfor displaying on a screen.

The generated map and runway are sent via the communication module 16from the computing device 12 to a display system 36. The map and runwaymay be sent to the display system 36 individually or together, at thesame time or at a different time. The display system 36 includes acomputing device 38 such as a computer, tablet, or phone. The computingdevice 38 of the display system 36 is communicatively connected to thecomputing device 12 of the map display system 10 in a client-serverrelationship wherein the computing device 10 may be described as theserver device and the computing device 38 may be described as the clientdevice.

In one example embodiment, the client computing device 38 includes aprocessor (CPU) 40, a communication module (COM) 42, a user interface(UI) 44, and a graphic processing unit (GPU) 46. The client computingdevice 38 also includes a memory 48, which may include any type ofmemory capable of being incorporated with the client computing device38, including random access memory 50 (RAM), read only memory 52 (ROM),and flash memory. Stored within the memory 48 is an operating system(OS) 54 and at least one application 56, 56′, both of which may beexecuted by the processor 40. The operating system 54 may be any type ofoperating system capable of being executed by the client computingdevice 36. A graphic card interface module (GCI) 58 and a user interfacemodule (UIM) 60 are also stored in the memory 48. The user interface 44may include an output module, e.g., screen 62 (not shown in FIG. 1) andan input module (not shown), e.g., keyboard, mouse, microphone. At leastone of the applications 56, 56′ is capable of facilitating display ofthe map, runway, and photographic images received from the computingdevice 12 onto the screen 62.

In one example implementation, the application 56 is a web browser thatcontrols a browser window provided by the OS 54 and displayed on theuser interface 44. During operation, the web browser 56 retrieves aresource, such as a web page, from a web server (not shown) via a widearea network (e.g., the Internet). The resource may include content suchas text, images, video, interactive scripts, etc. and describe thelayout and visual attributes of the content using HTML or another asuitable mark-up language. Additionally, the resource requests that aportion of the browser window be allocated for display of map data andimages on a runway, and provides an application programming interface(API) for accessing the map data and the image data from the computingdevice 12. Once the computing device 36 receives the resource, theapplication 56 displays the received content in the browser window,allocates a portion of the window in the form of an embedded window fordisplay of map data and the runway with images, and executes the API toretrieve the map data and the image data and render the received datawithin the embedded window. Thus, according to this implementation, thecomputing device 12 specifies how map data is to be displayed as well ashow the images are to be displayed over (or next to) the map imagewithin the embedded window on the computing device 36. In other words,the application 56 obtains map data and image data from the sameresource and renders both types of data within the same window using thesame API, according to this example implementation.

Several example methods for facilitating the display of overlay imageryassociated with a map on an electronic device, which may be implementedby the components described in FIG. 1, are discussed next with referenceto FIGS. 2 and 3. As one example, the methods may be implemented ascomputer programs stored on a tangible, non-transitory computer-readablemedium (such as one or several hard disk drives) and executable on oneor several processors. Although the methods shown in FIGS. 2 and 3 canbe executed on individual computers, such as servers or personalcomputers (PCs), it is also possible to implement at least some of thesemethods in a distributed manner using several computers, e.g., using acloud computing environment.

FIG. 2 is a flow diagram of an example method 200 for use in displayingoverlay imagery associated with a map. The method 200 may be implementedin the map display system 10 shown if FIG. 1. In one example embodiment,the method 200 may be part of one or more routines stored in the memory20. A request for map information is received at the computing device 12(block 202). The request for map information may be initiated in avariety of forms. In one instance, a search request may be submitted bythe user inputting a search term into a search box 68 on the displayscreen 62 (see FIGS. 4-8) of the client computing device 38. The requestfor map information may also be initiated by the user panning and/orzooming in and/or out of the map displayed on the screen 62, therebychanging the segment of the geographic area of the map represented andmade visible on the screen.

In response to the request for map information received at the computingdevice 12, a map is generated by the map generating routine (block 204).The generated map may include map symbols representing informationcorresponding to objects located within and/or near the area representedby the map, such as natural and man-made structures, and locations,e.g., cities, towns, streets, etc. Map information corresponding to thegenerated map is sent via the communication module 16 to the clientcomputing device 38 from which the request for map information wasreceived. The client computing device 38 receives the generated mapinformation via the communication module 42 and the generated mapinformation is then displayed via the CPU 40, GPU 46, UI 44, and/or UIM60 on the screen 62 (block 206).

Some objects located in or near the geographic area represented by themap may be represented by a symbol displayed within the map. Someobjects located in or near geographic area represented by the map mayalso have one or more corresponding photographic images accessible tothe computing device 12. The corresponding photographic images may bestored within an electronic data collection storage component internalor external to the computing device 12, for example, memory 20 of theserver computing device 12 and photographic image repositories such asdatabase 65. The server computing device 12 identifies photographicimages corresponding to objects located in or near the map shown on thescreen (block 208) and rates the identified images based on thephotogenic features of the photographic image (block 210).

The aesthetic quality of the photographic images may be quantified byevaluating one or more viewing signals associated with the photographicimage and/or the viewing aspects of the user. Each of the viewingsignals may be proportionally or disproportionally weighted. A ratingassociated with one or more of the viewing signals may be assessed toeach image and/or an overall rating for the photographic image may becalculated based on one or more of the viewing signals. In general, thehigher the score or rating a photographic image receives with respect tothe viewing signals, the more likely it is that the user would beinterested in viewing the image.

The one or more viewing signals that may be used to rate or assess theidentified photographic images include image type, object location,image quality, image popularity, map viewing mode, user location,spatial perspective, and search term. Image type generally includes thefile format of the photograph and whether the photograph is a regular orspecial photograph, e.g., panoramic. For example, with respect to imagetype, a photographic image having a panoramic type may generally receivea higher rating as compared to a photographic image having a regulartype. Object location generally relates to the geographical location ofthe object associated with the photographic image. For example, withrespect to object location, a photographic image having a geographicallocation near the region being represented by the map displayed on thescreen may generally receive a higher rating as compared to aphotographic image having a geographical location farther from theregion being represented by the map. Image quality generally includesthe contrast, color, and/or definition, e.g., amount of pixels, of thephotographic image. For example, with respect to image quality, aphotographic image having more pixels and color contrast may generallyreceive a higher rating as compared to a photographic image having lesspixels and less color contrast. Image popularity generally includes theconsideration of user ratings and/or commentary that may be acquiredfrom social networks, image repositories, etc. For example, with respectto image popularity, a photographic image having a higher viewer ratingmay generally receive a higher rating as compared to a photographicimage having a lower viewer rating. Map viewing mode includes the typeof viewing mode the user is utilizing while viewing the map, such as mapmode, satellite mode, street-level mode. Map viewing mode may alsoinclude the consideration of the zoom level being used by the user. Forexample, viewing the map at a closer or nearer elevation may indicatethat the user is more interested in viewing imagery as compared totransportation routes. User location includes consideration of thelocation where the user is viewing the map. For example, if the user islocated far away from the location being represented by the map, theuser may be interested in viewing photographic images of objectsfrequently associated with tourists and sightseeing. Spatial perspectiveincludes the viewing perspective of the photographic image associatedwith the object. For example, if several photographic images appear tobe taken from a similar perspective, the user may be less interested inviewing such repetitive instances of similar photographic images and areduced amount of such photographic images may therefore be selected toappear in the runway. Search term generally pertains to the type ofsearch term used in a search initiated by the user. For example, if thesearch term is an object widely known for its aesthetic features, suchas a statue or fountain, the user may be interested in viewing images ofother visually appealing objects.

A strip or runway of the identified photographic images is generated bythe computing device 12 (block 212) and the runway of images is sent tothe client computing device 38 and displayed on the screen 62 along withthe generated map (block 214). The photographic images may be arrangedwithin the runway in a sequence determined by the respective rating ofeach photographic image, e.g., highest to lowest overall rating, highestto lowest rating of a specified viewing signal or group of viewingsignals. In addition, the arrangement of photographic images within therunway may also be determined, in part, by considering the overallcompilation of photographic images within the runway. In particular, thearrangement of the photographic images in the runway may also bedetermined by considering the spatial perspective viewing signalassociated with each photographic image. For example, many photographicimages may be similarly rated or ranked based on one or more of theviewing signals and are therefore likely to be included within therunway. However, some of photographic images may have been taken from asimilar viewing perspective, e.g., from a well-known viewing location orspot. It may therefore be preferable, at times, to refrain from placingsome or many of the these “duplicative” photographic images havingsimilar perspectives in the runway and instead place other photographicimages having different viewing perspectives in the runway to providethe viewer with a more diverse set of photographic images.

FIG. 3 is a flow diagram of an example method 300 for use in displayingoverlay imagery associated with a map. The method 300 may be implementedin the map display system 10 shown if FIG. 1. In one example embodiment,the method 300 may be part of one or more routines stored in the memory20. A request for map information is received at the computing device 12(block 302). The request for map information may be initiated in avariety of forms. In one instance, a search request may be submitted bythe user inputting a search term into a search box 68 on the displayscreen 62 (see FIGS. 4-8) of the client computing device 38. The requestfor map information may also be initiated by the user panning and/orzooming in and/or out of the map displayed on the screen 62, therebychanging the segment of the geographic area of the map represented andmade visible on the screen.

In response to the request for map information received at the computingdevice 12, a map is generated by the map generating routine (block 304).The generated map may include map symbols representing informationcorresponding to objects located within and/or near the area representedby the map, such as natural and man-made structures, and locations,e.g., cities, towns, streets, etc. Map information corresponding to thegenerated map is sent via the communication module 16 to the clientcomputing device 38 from which the request for map information wasreceived. The client computing device 38 receives the generated mapinformation via the communication module 42 and the generated mapinformation is then displayed via the CPU 40, GPU 46, UI 44, and/or UIM60 on the screen 62 (block 306).

Some objects located in or near the geographic area represented by themap may be represented by a symbol displayed within the map. Someobjects located in or near geographic area represented by the map mayalso have one or more corresponding photographic images accessible tothe computing device 12. The corresponding photographic images may bestored within an electronic data collection storage component internalor external to the computing device 12, for example, memory 20 of theserver computing device 12 and photographic image repositories such asdatabase 65. The server computing device 12 identifies photographicimages corresponding to objects located in or near the map shown on thescreen (block 308) and rates the identified images based on thephotogenic features of the photographic image (block 310).

The aesthetic quality of the photographic images may be quantified byevaluating one or more viewing signals associated with the photographicimage and/or the viewing aspects of the user. Each of the viewingsignals may be proportional or disproportional weighted. A ratingassociated with each of the viewing signals may be assessed to eachimage and/or an overall rating for the photographic image may becalculated based on one or more of the viewing signals. The higher thescore or rating a photographic image receives with respect to theviewing signals, the more likely it is that the user would be interestedin viewing the image. As described earlier with respect to the examplemethod shown in FIG. 2, the one or more viewing signals that may be usedto rate or assess the identified photographic images include image type,object location, image quality, image popularity, map viewing mode, userlocation, and search term.

A strip or runway of the identified photographic images is generated bythe computing device 12 (block 312). The runway of images is then sized(block 314) before being sent to the client computing device 38 anddisplayed on the screen 62 along with the generated map (block 316). Thesize of the runway, e.g., photographic images within the runway, may bedetermined in relation to the ratings assessed to one or more of thephotographic images contained within the runway. In particular, if thecumulative rating of all the ratings associated with the photographicimages of the runway exceeds a threshold amount, the size of thephotographic images displayed on the screen may be larger in comparisonto when the cumulative score of the ratings does not exceed thethreshold amount.

FIGS. 4-8 illustrate several example interactive screen shots that maybe displayed on the screen 62 of the client computing device 38 as aresult of the example systems and methods described herein. In general,the computing device 12 may generate information for a map 64 and sendthe map information to the client computing device 38 for display. Themap 64 may typically be displayed at the computing device 38 via abrowser application, but may be displayed using a standalone applicationor another type of application as well. Depending on the configurationof the client computing device 38, the user may interact with the map 64via the user interface 44 and UIM 60, e.g., a mouse, a touchpad, akeyboard, a touch screen, a voice input device. The map 64 may bedisplayed in a variety of user-selectable map viewing modes includingmap mode, satellite mode, and street-level mode. The user may change orswitch the map viewing mode by any known user interface technique, suchas, drop-down menus and keystroke commands. The dimensions of the map 64may be adjusted by the user via known UI adjustment mechanisms typicallyused for adjusting window frames displayed on a screen, such asmaximizing and minimizing boxes located in the frame of the window (notshown).

In FIGS. 4-8, the runway 66 is displayed near the bottom of the screen62 and atop the map 64, however it is to be understood that the runwaymap be positioned anywhere on the screen and not atop the map, forexample. The runway 66 may be displayed in more than one size andincludes at least one selectable photographic image or thumbnail. Thephotographic images within the runway 66 may correspond to one or moreobjects that are physically located in or near the geographic area beingrepresented by the map 64 displayed on the screen 62. Photographicimages of photogenic objects may be more likely to be included in therunway 66. In other words, images of objects that are visuallyattractive (i.e., as a subject of photography) may be more likely to berated higher in terms of the viewing signals and therefore may be morelikely to be included in the runway 66. For example, an object that iscommonly considered a tourist attraction may be more likely to bephotographed and shared in social media and repositories. Many of thephotographic images corresponding to such an object are also likely tobe of a high quality. Such photographic images are therefore likely tobe rated higher in regard to the viewing signals as compared to anobject that is not commonly considered to be a tourist attraction, suchas a bus stop or a nondescript storefront.

Selection by the user of one of the photographic images in the runway 66will change the display of the map 64 shown on the screen 62. Forexample, upon the selection of one of the photographic images in therunway 66, the selected photographic image will be displayed on thescreen. In addition, one of the images within the runway may beselectable as an entry point into a different viewing mode available tothe user. For example, selection of such an entry point may provide theuser with the ability to view the map in a different map viewing mode,e.g., satellite view, street-level view. If the street-level viewingmode is selected by the user, the map will be displayed as if the userwas positioned on the street-level. Further navigation by the userwithin the map while in the street-level viewing mode will displayimages on the screen 62 in a perspective as if the user was moving abouton the ground.

In the example screenshot illustrated in FIG. 4, the screenshot includesthe map 64 shown in map mode, wherein the features depicted within themap are shown in a traditional road-map type format identifying objects,e.g., natural and man-made structures, such as roads, railroads, hills,rivers, lakes, and towns. The user may begin the map viewing session bystarting the map application. Initially, the user may use the userinterface 44 of the client computing device 38 to request mapinformation by entering a search team into a search text box 68. Theuser may also request map information by panning the map 64 displayed onthe screen 62 or by zooming in or out of the map. In response to theuser's request for map information, images of objects physically locatedin or near the geographic area represented by the map displayed on thescreen are identified and rated as described earlier with respect toFIGS. 2 and 3, for example. The runway 66 of identified images is sentto the client computing device 38 and displayed atop the map 64. In theexample screenshot illustrated in FIG. 4, the runway 66 includes oneuser-selectable image, which may be an entry point for selecting orchanging the viewing mode. Selection by the user of the image shown inthe runway 66 in FIG. 4 will enable the user to change the display ofthe map to another map viewing mode, such as a satellite mode, whereinthe map 64 will change to a photograph taken from an elevation above thegeographic region represented by the map.

Changing the area of the map 64 shown on the screen 62 by panning orzooming may likely affect what objects are located within or near thegeographic area being represented by the map shown on the screen. Theaddition or removal of objects associated with the map 64 may thereforeaffect the corresponding identified photographic images included withinthe runway 66. As a result, the rating determined for each object'sphotographic image may change due to the corresponding changes in theviewing signals, e.g., location of object, map viewing mode, etc. Aswill be explained in more detail below, a user-selectable tab 70 allowsa user to set the size of the runway 66. In the example screenshotillustrated in FIG. 5, the viewer has slightly increased the zoom levelas compared to the screenshot shown in FIG. 4. As the segment of the mapdisplayed on the screen changes from FIG. 4 to FIG. 5, the amount ofobjects located in or near the different segment of the map shown on thescreen may increase or decrease. As such, the runway 66 shown in FIG. 5may include more photographic images than the runway shown in FIG. 4.

FIG. 6 illustrates an example screenshot after the user has zoomedslightly further into the map shown in FIG. 5. In FIG. 6, the runway 66appears larger across the bottom of the map because one or more of theviewing signals have been modified and the ratings of the photographicimages may have likely changed. In FIG. 6, the user has zoomed into themap, which may be perceived as the user being more concerned withviewing images of objects associated with the map and less concernedwith the routes of transportation or an overview of surrounding terrain.This perception is reflected in the determination of the rating assessedto each photographic image associated with an object located within thegeographic location represented by the map. Through the use of theviewing signals and the ratings of the viewing signals, the user viewingFIG. 6 may be perceived to be more interested in viewing photographicimages, and therefore, those photographic images likely to be ofinterest to the user are shown more prominently, e.g., larger, in therunway 66 in FIG. 6 as opposed to the images in the runway shown inFIGS. 4 and 5.

Because the photographic images and the runway are displayed, at leastin part, in response to the viewing characteristics employed by theuser, the changes to the runway and the photographic images may appearto intuitively occur. In particular, as the user browses or navigatesthe map 64 displayed on the screen 62, photographic images of objectslocated in or near the geographic area depicted by the map areidentified and rated based on one or more of the viewing signals. Therated photographic images are arranged in the runway and sent to theclient computing device 38 to be displayed on the screen 62 inconjunction with the map 64. Further changes by the user to the view ofthe map 64 displayed on the screen 62, which result in changes to theratings of identified photographic images, will be reflected by thechanges to the photographic images included or removed from the runway66.

The runway 66 may include one or more user interfaces to provideadditional display features to enhance the user's control over the mapviewing experience. One display feature for the runway 66 allows theuser to deactivate the resizing of the display of the runway 66 on thescreen 62 that occurs in response to the ratings determined for theidentified photographic images contained within the runway. Morespecifically, the user-selectable tab 70 or the like is operativelycoupled to the user interface module 60 and may be affixed to an edge ofthe runway 66. By selecting the tab 70, the user may fix the size of therunway 66 displayed with the map 64 and thereby prevent the size of therunway 66 from changing in response to the determination of the ratingsassociated with the identified photographic images contained within therunway. In other words, fixing the size of the runway will essentiallysuspend operation of the runway sizing routine 34 wherein the size ofthe runway will remain constant during the map viewing session, or untilsuch time that the user reinstates the runway sizing routine. The usermay select, via the tab 70, to fix the size of the runway 66 to remainin the smaller (see FIG. 5) or larger (see FIG. 6) size.

The runway 66 may also provide the user with the ability to temporarilyenlarge a pre-selected thumbnail image contained within the runway 66.See for example, the runway 66 illustrated in FIG. 7. The user maypre-select the thumbnail image by using the user interface 44 and UIM 60to highlight the desired thumbnail image. The user may highlight thethumbnail image by hovering the mouse pointer over the thumbnail imageor by pressing the tab key on the keyboard to pre-select or highlightthe thumbnail image. In addition, an indication of the approximatelocation of the object associated with the pre-selected thumbnail imagemay be displayed on the map when the thumbnail image within the runway66 is pre-selected.

In instances where there are many photographic images within the runway66, the runway 66 may extend beyond the width of the screen. The usermay horizontally scroll the runway 66 to bring thumbnail imagesinitially not displayed on the screen 62 into view on the screen. Inaddition, the runway may also provide the user with the ability todisplay all the photographic images contained within runway 66 in a gridview. The runway 66 may include a user-selectable composite view imageor an indicator 72 associated with the runway. The indicator 72 mayindicate the amount of photographic images contained within the runway66. The user may select the indicator 72 to bring about the grid displayof the photographic images onto the screen 62 as shown in FIG. 8, forexample. Selection of one of the photographic images displayed in thegrid will change the display on the screen to show the selectedphotographic image.

It is apparent from the description above that the user's map viewingexperience can be enhanced by the use of the runway of photographicimages displayed in combination with the map, wherein the photographicimages compiled within the runway are determined in conjunction with theuser's viewing characteristics.

In some embodiments, the various sizes of images may be downloaded tothe client computing device 38 so that user-initiated runway changes canbe accommodated without network access to the computing device 12.Although the embodiments illustrated show image selection andarrangement performed on the server side computing device 12,advancements in client side computing device 38 memory capacity,computing power, and network connectivity are such that these functionsare reasonably contemplated as being performed at the client sidecomputing device 38 in some embodiments.

ADDITIONAL CONSIDERATIONS

The following additional considerations apply to the foregoingdiscussion. Throughout this specification, plural instances mayimplement components, operations, or structures described as a singleinstance. Although individual operations of one or more methods areillustrated and described as separate operations, one or more of theindividual operations may be performed concurrently, and nothingrequires that the operations be performed in the order illustrated.Structures and functionality presented as separate components in exampleconfigurations may be implemented as a combined structure or component.Similarly, structures and functionality presented as a single componentmay be implemented as separate components. These and other variations,modifications, additions, and improvements fall within the scope of thesubject matter of the present disclosure.

Additionally, certain embodiments are described herein as includinglogic or a number of components, modules, or mechanisms. Modules mayconstitute either software modules (e.g., code stored on amachine-readable medium) or hardware modules. A hardware module istangible unit capable of performing certain operations and may beconfigured or arranged in a certain manner. In example embodiments, oneor more computer systems (e.g., a standalone, client or server computersystem) or one or more hardware modules of a computer system (e.g., aprocessor or a group of processors) may be configured by software (e.g.,an application or application portion) as a hardware module thatoperates to perform certain operations as described herein.

In various embodiments, a hardware module may be implementedmechanically or electronically. For example, a hardware module maycomprise dedicated circuitry or logic that is permanently configured(e.g., as a special-purpose processor, such as a field programmable gatearray (FPGA) or an application-specific integrated circuit (ASIC)) toperform certain operations. A hardware module may also compriseprogrammable logic or circuitry (e.g., as encompassed within ageneral-purpose processor or other programmable processor) that istemporarily configured by software to perform certain operations. Itwill be appreciated that the decision to implement a hardware modulemechanically, in dedicated and permanently configured circuitry, or intemporarily configured circuitry (e.g., configured by software) may bedriven by cost and time considerations.

Accordingly, the term hardware should be understood to encompass atangible entity, be that an entity that is physically constructed,permanently configured (e.g., hardwired), or temporarily configured(e.g., programmed) to operate in a certain manner or to perform certainoperations described herein. Considering embodiments in which hardwaremodules are temporarily configured (e.g., programmed), each of thehardware modules need not be configured or instantiated at any oneinstance in time. For example, where the hardware modules comprise ageneral-purpose processor configured using software, the general-purposeprocessor may be configured as respective different hardware modules atdifferent times. Software may accordingly configure a processor, forexample, to constitute a particular hardware module at one instance oftime and to constitute a different hardware module at a differentinstance of time.

Hardware and software modules can provide information to, and receiveinformation from, other hardware and/or software modules. Accordingly,the described hardware modules may be regarded as being communicativelycoupled. Where multiple of such hardware or software modules existcontemporaneously, communications may be achieved through signaltransmission (e.g., over appropriate circuits and buses) that connectthe hardware or software modules. In embodiments in which multiplehardware modules or software are configured or instantiated at differenttimes, communications between such hardware or software modules may beachieved, for example, through the storage and retrieval of informationin memory structures to which the multiple hardware or software moduleshave access. For example, one hardware or software module may perform anoperation and store the output of that operation in a memory device towhich it is communicatively coupled. A further hardware or softwaremodule may then, at a later time, access the memory device to retrieveand process the stored output. Hardware and software modules may alsoinitiate communications with input or output devices, and can operate ona resource (e.g., a collection of information).

The various operations of example methods described herein may beperformed, at least partially, by one or more processors that aretemporarily configured (e.g., by software) or permanently configured toperform the relevant operations. Whether temporarily or permanentlyconfigured, such processors may constitute processor-implemented modulesthat operate to perform one or more operations or functions. The modulesreferred to herein may, in some example embodiments, compriseprocessor-implemented modules.

Similarly, the methods or routines described herein may be at leastpartially processor-implemented. For example, at least some of theoperations of a method may be performed by one or processors orprocessor-implemented hardware modules. The performance of certain ofthe operations may be distributed among the one or more processors, notonly residing within a single machine, but deployed across a number ofmachines. In some example embodiments, the processor or processors maybe located in a single location (e.g., within a home environment, anoffice environment or as a server farm), while in other embodiments theprocessors may be distributed across a number of locations.

The one or more processors may also operate to support performance ofthe relevant operations in a “cloud computing” environment or as anSaaS. For example, at least some of the operations may be performed by agroup of computers (as examples of machines including processors), theseoperations being accessible via a network (e.g., the Internet) and viaone or more appropriate interfaces (e.g., application program interfaces(APIs).)

Some portions of this specification are presented in terms of algorithmsor symbolic representations of operations on data stored as bits orbinary digital signals within a machine memory (e.g., a computermemory). These algorithms or symbolic representations are examples oftechniques used by those of ordinary skill in the data processing artsto convey the substance of their work to others skilled in the art. Asused herein, an “algorithm” or a “routine” is a self-consistent sequenceof operations or similar processing leading to a desired result. In thiscontext, algorithms, routines and operations involve physicalmanipulation of physical quantities. Typically, but not necessarily,such quantities may take the form of electrical, magnetic, or opticalsignals capable of being stored, accessed, transferred, combined,compared, or otherwise manipulated by a machine. It is convenient attimes, principally for reasons of common usage, to refer to such signalsusing words such as “data,” “content,” “bits,” “values,” “elements,”“symbols,” “characters,” “terms,” “numbers,” “numerals,” or the like.These words, however, are merely convenient labels and are to beassociated with appropriate physical quantities.

Unless specifically stated otherwise, discussions herein using wordssuch as “processing,” “computing,” “calculating,” “determining,”“presenting,” “displaying,” or the like may refer to actions orprocesses of a machine (e.g., a computer) that manipulates or transformsdata represented as physical (e.g., electronic, magnetic, or optical)quantities within one or more memories (e.g., volatile memory,non-volatile memory, or a combination thereof), registers, or othermachine components that receive, store, transmit, or displayinformation.

As used herein any reference to “one embodiment” or “an embodiment”means that a particular element, feature, structure, or characteristicdescribed in connection with the embodiment is included in at least oneembodiment. The appearances of the phrase “in one embodiment” in variousplaces in the specification are not necessarily all referring to thesame embodiment.

Some embodiments may be described using the expression “coupled” and“connected” along with their derivatives. For example, some embodimentsmay be described using the term “coupled” to indicate that two or moreelements are in direct physical or electrical contact. The term“coupled,” however, may also mean that two or more elements are not indirect contact with each other, but yet still co-operate or interactwith each other. The embodiments are not limited in this context.

As used herein, the terms “comprises,” “comprising,” “includes,”“including,” “has,” “having” or any other variation thereof, areintended to cover a non-exclusive inclusion. For example, a process,method, article, or apparatus that comprises a list of elements is notnecessarily limited to only those elements but may include otherelements not expressly listed or inherent to such process, method,article, or apparatus. Further, unless expressly stated to the contrary,“or” refers to an inclusive or and not to an exclusive or. For example,a condition A or B is satisfied by any one of the following: A is true(or present) and B is false (or not present), A is false (or notpresent) and B is true (or present), and both A and B are true (orpresent).

In addition, use of the “a” or “an” are employed to describe elementsand components of the embodiments herein. This is done merely forconvenience and to give a general sense of the description. Thisdescription should be read to include one or at least one and thesingular also includes the plural unless it is obvious that it is meantotherwise.

Upon reading this disclosure, those of skill in the art will appreciatestill additional alternative structural and functional designs for asystem and a process for rendering information on a mobile computingdevice having a display screen through the disclosed principles herein.Thus, while particular embodiments and applications have beenillustrated and described, it is to be understood that the disclosedembodiments are not limited to the precise construction and componentsdisclosed herein. Various modifications, changes and variations, whichwill be apparent to those skilled in the art, may be made in thearrangement, operation and details of the method and apparatus disclosedherein without departing from the spirit and scope defined in theappended claims.

What is claimed is:
 1. A method of displaying photographic imageryrelated to digital maps, the method comprising: receiving, by one ormore processors, map data for generating a digital map of a geographicarea; generating, by the one or more processors, the digital map usingthe received map data; displaying, by the one or more processors, thedigital map via a user interface; generating an interactive runway ofphotographic images corresponding to objects located within thegeographic area, the interactive runway being an arrangement of thephotographic images determined based on one or more viewing signalsrelated to: (i) at least one of the photographic images, or (ii) anobject to which at least one of the photographic images corresponds;displaying, by the one or more processors, the interactive runway overthe digital map; detecting, by the one or more processors, a selectionby a user of a one of the photographic images in the interactive runway;and displaying, by the one or more processors, the digital map in astreet-level viewing mode from a perspective at a position correspondingto the selected photographic image.
 2. The method of claim 1, furthercomprising displaying additional photographic images in the interactiverunway in response to a detection of a user scrolling the interactiverunway.
 3. The method of claim 1, wherein the one or more viewingsignals include: a signal corresponding to a search term input via theuser interface.
 4. The method of claim 1, wherein the one or moreviewing signals include: a signal corresponding to one or more of:object location, image type, image quality, image popularity, andspatial perspective.
 5. The method of claim 1, wherein the one or moreviewing signals include a signal corresponding to a distance between acurrent location of the user viewing the digital map and the geographicarea, and wherein the arrangement of the photographic images includesimages associated with tourism and wherein the arrangement is furtherdetermined based on ratings calculated based on the signal correspondingto the distance.
 6. The method of claim 1, further comprisingdetermining a size of the photographic images using the one or moreviewing signals.
 7. The method of claim 1, further comprisingdetermining a size of the interactive runway using the one or moreviewing signals.
 8. The method of claim 1, further comprising:receiving, via the user interface, a selection of a viewing mode of thedigital map prior to receiving the map data, wherein the viewing mode isselected from a list including road view and street-level view; anddetermining a size of the photographic images based on the selectedviewing mode.
 9. The method of claim 1, further comprising: receivingnavigation input via the user interface; updating the displayed digitalmap in accordance with a new position determined based on the receivednavigation input; populating the interactive runway with one or more newphotographic images in accordance with the new map position.
 10. Themethod of claim 9, further comprising: receiving via the user interfacea selection of a one of the one or more new photographic images; andupdating the displayed digital map in accordance with a second newposition corresponding to an object to which the selected newphotographic image corresponds.
 11. The method of claim 1, furthercomprising: receiving a selection of one of the photographic images ofthe interactive runway; and generating a visual indication of anapproximate location on the digital map of the object associated withthe selected image.
 12. A non-transitory computer-readable mediumstoring thereon instructions that, when executed by one or moreprocessors, cause the one or more processors: receive map data forgenerating a digital map of a geographic area; generate the digital mapusing the received map data; display the digital map via a userinterface; generate an interactive runway of photographic imagescorresponding to objects located within the geographic area, theinteractive runway being an arrangement of the photographic imagesdetermined based on one or more viewing signals related to: (i) at leastone of the photographic images, or (ii) an object to which at least oneof the photographic images corresponds; display the interactive runwayover the digital map; detect a selection by a user of a one of thephotographic images in the interactive runway; and display the digitalmap in a street-level viewing mode from a perspective at a positioncorresponding to the selected photographic image.
 13. Thecomputer-readable medium 12, wherein the instructions further cause theone or more processors to: display additional photographic images in theinteractive runway in response to a detection of a user scrolling theinteractive runway.
 14. The computer-readable medium 12, wherein the oneor more viewing signals include a signal corresponding to a distancebetween a current location of the user viewing the digital map and thegeographic area, and wherein the arrangement of the photographic imagesincludes images associated with tourism and wherein the arrangement isfurther determined based on ratings calculated based on the signalcorresponding to the distance.
 15. The computer-readable medium 12,wherein the one or more viewing signals include: a signal correspondingto a search term input via the user interface.
 16. The computer-readablemedium 12, wherein the instructions further cause the one or moreprocessors to: determine a size of the photographic images using the oneor more viewing signals.
 17. The computer-readable medium 12, whereinthe one or more viewing signals include: a signal corresponding to oneor more of: object location, image type, image quality, imagepopularity, and spatial perspective.
 18. The computer-readable medium12, wherein the instructions further cause the one or more processorsto: determine a size of the interactive runway using the one or moreviewing signals.
 19. The computer-readable medium 12, wherein theinstructions further cause the one or more processors to: receive, viathe user interface, a selection of a viewing mode of the digital mapprior to receiving the map data, wherein the viewing mode is selectedfrom a list including road view and street-level view; and determine asize of the photographic images based on the selected viewing mode. 20.The computer-readable medium 12, wherein the instructions further causethe one or more processors to: receive a selection of one of thephotographic images of the interactive runway; and generate a visualindication of an approximate location on the digital map of the objectassociated with the selected image.